GRACE TECHNICAL REPORTS
XAC
プロジェクト
オープン無線センサーネットワークミドルウェア研究開発プロジェクト
鄭顕志,末永俊一郎,中村善行,清雄一,吉岡信和,
深澤良彰,本位田真一
GRACE-TR 2009–02
2009
年
5
月
CENTER FOR GLOBAL RESEARCH IN
テクニカル・レポートは、国内外の論文誌、Proceedings等への投稿原稿、マニュアル、 資料、研究の中間報告です。著作権は、全て著者に属します。ただし、同一あるいは
類似の論文が外部の論文誌等で発行される場合はホームページへの掲載等を中止する
XAC
プロジェクト
オープン無線センサーネットワークミドルウェア研究開発プロジェクト
鄭
顕志
∗†
末永
俊一郎
⋆
中村
善行
∗
清雄一
⋄
吉岡
信和
†
深澤
良彰
∗
本位田真一
†‡
∗
早稲田大学
†
国立情報学研究所
‡
東京大学
⋆
日本ユニシス株式会社
⋄
株式会社三菱総合研究所
2009
年
5
月
27
日
概 要
本稿では無線センサーネットワークに関する研究プロジェクトで
あるXACプロジェクトを,研究,開発の観点から紹介する.XAC
プロジェクトでは,無線センサーネットワークをオープンインフラ として利用可能にすることを目指し,無線センサーネットワークの
ミドルウェアに関する研究,開発を行っている.本稿では,XACプ
ロジェクトが取り組む研究課題の研究概要やXACプロジェクトの
取り組みを示す.また,XACプロジェクトが開発するミドルウェア
の現状を示す.
1
はじめに
環境中に埋め込まれた情報通信機器を制御し,ソフトウェアによって人
間の生活空間を支援するパーベイシブコンピューティング[1](または,ユ
ビキタスコンピューティング[2])への期待が高まっている.パーベイシブ
コンピューティング環境では,環境の状態や利用者の意図に応じて適応的
に振る舞う状況依存型アプリケーションが複数稼働する.状況依存型ア
プリケーションは自身の振る舞いに関連する環境情報を必要とするため,
個々の状況依存型アプリケーションを効率的に開発するためには,環境情
報を収集する共通基盤が必要となる.
環境情報を収集する共通基盤は,実環境の様々な箇所へ設置可能で,か
つ,様々な状況依存型アプリケーションが必要とする環境情報を収集可能で
なければならない.無線センサーネットワーク(Wireless Sensor Network
: WSN)は,パーベイシブコンピューティングのための環境情報を収集す
る共通基盤として期待されている.WSNとは,センサーを備えた小型コ
を構成するコンピュータをノードと呼ぶ.ノードは無線通信デバイスを備
え,ノード間で無線アドホックネットワークを構築し,構築したネットワー
クを転送経路として観測データを報告することができる.従って,WSN
は設置する際に新規の有線ネットワークや電源を確保する必要がなく,屋
内,屋外への設置が容易である.また,ノードは複数種類のセンサーを備
え,観測に使用するセンサーや観測間隔等を変更することができる.従っ
て,ノードを制御するプログラムを変更することによって,状況依存型ア
プリケーション毎に異なる環境情報を1つのWSNから取得することがで
きる.パーベイシブコンピューティング環境を構築するためには,WSN
をオープン環境でのインフラとして利用可能にすることが必要となる. WSNをオープン環境でのインフラとして利用可能にするためには,WSN
を管理するミドルウェアが必要となる.WSNミドルウェアは次のような
要求に答えなければならない.
• 多様なタスクの扱い
• 運用時のタスク管理
• WSNの限られた資源の有効活用
• 環境変化への対応
まず,必要となる環境情報や,求める精度によっては変わる.期待する環
境情報を取得するための処理を以降タスクと呼ぶ.WSNは状況依存アプ
リケーション毎に必要とされる多様なタスクを扱えなければならない.ま
た,オープン環境で動作するためには,システム運用時にタスクの追加・
削除が行えなければならない.さらに,WSNを構成するノードは,計算
資源,メモリ,通信帯域,バッテリ容量が乏しい.多数のタスクを長時間
実行可能にするためには,タスクの消費資源量を抑える必要がある.加え
て,ノードの追加・消失などによるWSN環境変化や,タスクが対象とす
る実環境の変化によってWSN内での最適な処理は変わる.従って,環境
変化に対応してWSN内の構成,振る舞いを変更する必要がある. XACプロジェクト
1
では,パーベイシブコンピューティング環境構築の
ために,オープン環境下で動作するWSN管理ミドルウェアの研究,開発
を行っている.本論文では,オープン環境におけるWSN管理ミドルウェ
: ノード
図1: オフィスビルでの環境例
2
シナリオ
本章では,オープン無線センサーネットワークの課題を明確にするため
に,WSNタスクの具体例を示す.あるオフィスビルで業務効率化のため
にパーベイシブコンピューティング環境を構築し,状況依存型アプリケー
ションを実行させようとしている.オフィスビル各階の部屋,廊下,各階
を繋ぐ階段には,図1のようにノードが設置され,オフィスビルの環境情
報を観測,取得できるWSNが稼働しているものとする.WSN内のノー
ドで観測された環境情報は,ノード間の無線マルチホップ通信を経由し
て,WSNを管理するサーバ(以後,ベースステーションと呼称する)に
集められる.
ベースステーションに集められたオフィスビルの環境情報を用いて状況
依存型アプリケーションが動作しているシナリオS1∼S4を表1に示すS1
では滞在者が希望する温度に会議室の室温を調整するアプリケーション
が,S2では会議室の空き状況を予約データや現在の滞在者の有無から判
定するアプリケーションが,S3では各社員のプレゼンスを管理するアプ
リケーションが,S4では不審者検知アプリケーションが動作している.
状況依存型アプリケーションはそれぞれ自身の動作に関連する環境情報
を必要とする.S1では室温,S2では会議室内の滞在者の有無,S3では各
社員の現在地,S4では部屋周辺の滞在者の有無といった環境情報を必要
とする.
S1∼S4はそれぞれに必要とする環境情報と要求する精度が異なる.各
ノードが備えるセンサーが観測したデータには誤差が含まれる.高い精度
1
表 1: 状況依存型アプリケーションシナリオ例
番号 アプリケーシ
ョン名
動作内容 環境情報 要求精度
S1 室温管理 滞在者の希望
温度に室温を
調整
指定された部
屋の温度
誤差2度以内
S2 会議室空き状
況管理
会議室の予約
状況や滞在者
の 有 無 か ら ,
実際に空いて
いる会議室を
表示
指定された部
屋内の人物の
有無
誤 検 知 率 1%
以内
S3 プレゼンス管
理
各社員がどの
部屋にいるか
を管理
指定された人
物の位置
デスク室では 1m 以 内 の 誤
差,会議室で
は部屋単位で S4 不審者検知 重 要 な 物 品 ,
情報を管理す
る部屋の前で
認証動作をせ
ずに長時間滞
在している人
物がいた場合,
警備員に通知
指定された部
屋周辺の人物
の位置
誤差2m以内
の環境情報を得るためには,一般に,複数のノードによって観測を行い,
その観測結果を統合することによって精度を向上させる必要がある.例え
ば,S3では対象人物が会議室にいる場合,会議室中にいるかどうかがわ
かればいいため,高い精度は要求されず使用するノードは少数でよい.一
方で,S4では誤差2m以内で人物の位置を観測しなければならず,多数
のノードからの観測結果を統合する必要がある.
一方で,WSN管理者の視点に立つと,同時に実行できるタスク数や
WSNの稼働時間を向上させるために個々のタスクが消費する資源量を抑
える必要がある.WSNを構成するノードのCPU,メモリ,ネットワーク
デバイスは貧弱で,計算資源,保存容量,通信帯域は乏しい.また,ノー
ドがバッテリ駆動している場合,個々のノードの負荷が高まると,短時
間でノードがバッテリ切れになってしまう.例えば,広く使用されている
る場合,ノードのバッテリは約7日で枯渇してしまう[3].WSNの生存時
間を向上させるためには,観測データを複数まとめて送信したり,精度を
落とさない程度に観測頻度を落としデューティーサイクルを調整するな
ど,様々な最適化手法を使用することでノードの生存時間を向上させる必
要がある.
3
オープン
WSN
ミドルウェアの研究課題
XACプロジェクトでは,オープンWSNのためのミドルウェアに関連
して,特に次の4点の研究課題の解決に取り組んでいる.
• タスク記述言語
• タスクの配置管理
• 自己適応性
• セキュリティ
本章では,上記の4つの観点から,既存研究の取り組みや課題を示し,XAC
プロジェクトの取り組みを紹介する.
3.1
タスク記述言語
WSNミドルウェアを用いて開発を行う場合,ミドルウェアで提供され
ているタスク記述言語を用いてタスクを記述する.タスク記述言語は,ミ
ドルウェアを通じてWSNを利用するためのインタフェースとなる.
3.1.1 既存の取り組み
タスク記述言語によってプログラマに対して提供するAPIの抽象度が
異なる.抽象度が高ければ,WSN内部の複雑さをプログラマから隠蔽し
容易にタスクを記述できるようになるが,一方で,記述可能な処理の自由
度が減るため,観測結果の精度を向上し資源消費量を低減させるために
WSN内部特有の性質に基づいた最適化の余地は少なくなる.これまでに
は様々なタスク記述言語が提案されているが,それぞれ抽象度が異なる.
本節では,既存のタスク記述言語を抽象度の違いによってデータレベル,
データレベル TinyDB[4],Cougar[5],TinyLIME[6],TeenyLIME[7]な
どのミドルウェアでは,データレベルのタスク記述言語を提供している.
データレベルのタスク記述言語では,期待する環境情報を取得するために
必要なデータを記述する.
こ れ ら の ミ ド ル ウェア で は 抽 象 化 の 方 法 は そ れ ぞ れ 異 な る .例 え ば , TinyDB,CougarはWSNを関係データベースとして抽象化し,SQLベー
スのタスク記述言語での観測データ取得を,TinyLIME,TeenyLIMEは
WSNをタプルスペースとして抽象化し,タプルの問い合わせ言語ベース
のタスク記述言語での実現している.
データレベルのタスク記述言語では,取得したいデータの性質のみを記
述し,通信経路の構築や,ネットワーク内集約などWSN内部の最適化は
プログラマに対して透過的に実行される.例えば,TinyDBでは,WSN
内部でツリー構造のネットワークトポロジを構築し,構築したトポロジに
沿って観測したデータを収集する.また,ツリー構造を沿って多数のデー
タを集める際に,転送途中のノード上で観測結果を集約することで通信量
を減らす最適化を行っている.従って,処理は簡易に記述できるが,例え
ばツリー構造からクラスタリングへのトポロジに切り替えなどはプログラ
マは記述することができない.
グループレベル EnviroTrack[8],Hood[9],AbstractRegion[10],Generic Role Assignment[11],DFuse[12]といったミドルウェアでは,グループレ
ベルのタスク記述言語を提供している. グループレベルのタスク記述言
語では,必要なデータを計測するタスクを,複数のノード上で実行される
マクロ動作として記述する.
EnviroTrack,Hood,AbstractRegionでは,観測対象近隣のノード群
を1つのグループとして抽象化し,グループによるマクロな動作をタス
クとして記述する.ホップ数などでグループを構成するノードを設定し,
グループ内のノード群上で行う,観測,転送,集約処理を集中的に記述で
きる.例えばAbstractRegionでは,グループ内での通信経路もプログラ
マがカスタマイズすることができる.Generic Role Assignmentのタスク
記述言語では,ノードの動作を役割として記述し,ノードは指定された条
件に応じて役割を切り替えることで動作を変更することができる.また,
DFuseでは,観測,転送,集約,データ保存などのタスク全体を構成する
サブタスクグラフを記述し,サブタスクが配置されるノードの条件をグラ
フの制約として記述することができる.
グループレベルのタスク記述言語では,データの性質ではなく,データ
の観測方法を記述する.ただし,個々のノードの動作ではなく,タスク全
体を記述し,ミドルウェアが個々のノードに分割,実行する.グループレ
ワークトポロジや,ネットワーク内集約手法などをカスタマイズ可能と
なっている.
ノードレベル TinyOS[13],Squawk[14],Agilla[15],SensorWare[16],ActorNet[17]
といったミドルウェアでは,ノードレベルのタスク記述言語を提供してい
る.ノードレベルのタスク記述言語ではグループベースよりさらに抽象度
を下げ,個々のノードの動作を記述する.
TinyOSやSquawkのタスク記述言語では,個々のノードの動作を記述
する.Agilla,SensorWare,ActorNetのタスク記述言語では,モバイル
エージェントベースの処理を記述し,個々のノードを渡り歩いて実行する
処理を記述することができる.
ノードレベルのタスク記述言語では,個々のノードのデューティーサイ
クルなど,詳細な動作のカスタマイズを可能にしている.一方で,タスク
を構築するサブタスク毎も個々のノードの動作として記述しなければなら
ず,トポロジ構築やネットワーク内集約などの処理を分散プログラミング
として記述しなければならず,開発の難易度は高くなってしまう.
3.1.2 XACプロジェクトによる取り組み
前節で示した既存のデータレベル,グループレベル,ノードレベルのタ
スク記述言語は抽象度がそれぞれ異なり,記述容易性とプログラマによる
最適化の余地のトレードオフとなっている.アプリケーションが要求する
精度,消費資源量でタスクを記述することができる,最も高い抽象度の言
語を使用するのが望ましいが,求められる精度や消費資源量はアプリケー
ションによって異なるため,アプリケーションによって適切な抽象度は異
なる.
しかしながら,既存のミドルウェアでは抽象度が固定であるタスク記述
言語しか提供しておらず,多様なアプリケーション要求に応えることがで
きない.例えば,データレベルのタスク記述言語では,サブタスク間の
ネットワークトポロジを記述することができない.ネットワークトポロジ
をスパニングツリー型にするのか,クラスタ型にするのか,階層型クラス
タにするのかでデータ収集効率が異なる.適切なトポロジによる処理の非
機能特性は,計測対象の範囲,計測データの種類などのタスクの特徴に依
存する.従って,タスク毎に要求精度,使用資源量を満たすようにネット
ワークトポロジを選択する必要がある.ネットワークトポロジはデータレ
ベルのタスク記述言語での抽象度では隠蔽されているため,グループレベ
ル以下の抽象度のタスク記述言語でのみ最適化できる.
XACプロジェクトでは,複数の抽象度でタスクを記述可能なタスク記
ドレベルでそれぞれタスク記述言語を提供し,それらのレベルでのモデル
間で変換してタスクを開発するモデル駆動開発を行う.データレベルで記
述したタスクからグループレベルのタスクへ,グループレベルで記述した
タスクからノードレベルのタスクへとモデル変換することでタスクを段
階的に詳細化して開発するXACプロジェクトでは,これまでに,既存の WSNミドルウェアやタスク記述言語を調査し[18, 19, 20],タスク記述言
語に必要な記述能力の指標を導出する分析手法を提案している[21].現在
は,各レベルでの記述モデル,モデル間の変換ルールの定義に取り組んで
いる.
モデル変換によって抽象度の低いレベルにモデルを変換後,非機能的要
求を満たすようタスクの最適化を行う必要がある.データレベルではデー
タ解析に関する,グループレベルではグループ構成やグループ内通信に関
する,ノードレベルでは個々のノードの振る舞いに関して,適切な実現手
段を選択,適用することで必要nな精度と消費資源量の調整を行うことが
できる.例えば,2章で示したS2,S4のタスクは人物の現在地を観測する
が,それぞれ要求する精度が異なる.S2のように要求精度が低い場合は,
単純に対象からのビーコン受信方式で十分だが,S4のように要求精度が
高い場合は,電波強度を用いるRSSI(Radio Signal Strength Indicatin)
方式や電波の到達時間差を用いるTDoA(Time Difference of Arrival)方
式を用いて複数のデータを統合,解析することで精度を向上させる必要が
ある.従って,S2とS4では同じ環境情報を必要とするが,それぞれのタ
スクのデータレベルの処理は異なる.また,データレベルでRSSIを用い
る場合,グループレベルではどのノードが観測するのか,観測したデータ
をどのノードに集めるのか,どのような転送路を用いるのかによって精度
や消費資源量が変化するため,適切に選択,決定する必要がある.このよ
うに,データレベル,グループレベル,ノードレベルでそれぞれ,精度と
消費資源量を調整するための最適化を支援する手法が必要となる.
XACプロジェクトでは,各レベルの抽象度におけるプログラマによる
処理の最適化を支援するための研究にも取り組んでいる.XACプロジェ
クトでは,これまでにプログラマによる最適化を支援するためのパターン
カタログの整備[22]を行ってきた.今後は,パターン適用によって向上
する非機能特性を明らかにし,要求する精度,消費資源量を達成するため
に必要なパターン選択手法を扱う.また,下位レベルでの最適化によって
処理ロジックを変更すると,上位レベルで記述したタスクの内容を逸脱し
てしまう危険性がある.従って,最適化後のタスクが上位レベルでの記述
内容で記述した性質を保持しているかを検証する必要がある.XACプロ
3.2
タスクの配置管理
WSNを用いてタスクを運用する際,タスクをノードに配置する必要が
生じ,タスクの配置管理が必要になる.一般にWSNでは,タスクをノー
ドに配置する場合,ノードとベースステーションを物理的に接続する必要
が生じる.WSNを敷設した後にタスクの追加・変更・削除等でタスクを
再配置する必要が生じた場合,ノードを一度回収し,物理的な接続を実施
すると運用に支障を来たす.そこで,ベースステーションからノードにタ
スクを無線経由で配置するリプログラミング[23]が提案され,タスクの
運用時に一般的に用いられるようになった.
3.2.1 既存の取り組み
リプログラミングは以下の2つの手法に分類できる.
ベースステーションによる配置管理
ベースステーションから,タスクの配置を集中管理する手法.
タスク自身による配置管理
タスク自身がタスクの配置を決定し,移動を行って配置管理を実現
する手法
2
.
ベースステーションによる配置管理 タスクの配置管理を実施する場合,
タスクを全ノードに配置するか,タスクを実行するノードのみに配置す
るかを考慮する必要がある.例えば,表1で挙げたS1は室温を観測する
部屋のみに配置され,S3は全ノードに配置されることが妥当となる.仮
に,観測条件の変更等でS1,S3のタスクの変更が必要になった場合,S1
についてはタスクを実行するノードのみタスクを更新し,S3については
全ノードのタスクを更新する必要があり,タスク更新の対象範囲を考慮す
る必要が生じる.
タスク更新の対象範囲を指定し,ベースステーションから配置管理を
行う代表的な研究例にDeluge[24]がある.Delugeは,更新対象となるタ
スクをベースステーションからWSNの全ノードに送信する際に,更新対
象となるノードIDをオプションとして指定することで,タスク更新の対
象範囲を指定することを可能にしている.WSNを構成するノードは,電
力・通信帯域が限られているために,Delugeでは以下3点の工夫を行っ
ている.
2
ベースステーションから集中管理することもできるが,タスク自身が配置管理を実施
• 通信送信間隔の動的な変更により,ノード密集地域での通信集中を
削減する.
• 安定したノードとの通信を動的に実行することによって,ノード間
の非対称リンクへの対処を行う.
• ラウンドを導入することによる,複数ノードによるブロードキャス
ト集中を抑制する.
Delugeは,タスクに必要な全コードをベースステーションから送信す
る手法を取る.この手法では,コード容量が大きくなり,コードの通信・
転送コストが大きく,ノードの電力を消費する課題がある.そこで,タス
クに共通するコードを予め各ノードに配置しておき,タスク固有のコー
ドのみ配置する手法が研究された.代表的な研究例にMat´e[25]がある. Mat´e[25]は,各ノードにVirtual Machineを予め配置しておき,VMが解
釈可能なタスク固有のコードを送信することでコードの軽量化を実現して
いる.Mat´eのVMは,bytecodeのインタプリタであり,各bytecodeは 1byteで表現される.この結果,100行のスクリプトであっても100byte
で記述することを可能にしている.なお,Mat´e[25]は,タスク更新の対
象範囲を指定することができないが,改訂版であるTrickle[26]によって
タスク更新の対象範囲の指定を可能としている.
タスク自身による配置管理 ベースステーションによる配置管理を行う場
合,ベースステーションから常にタスクを配置する必要が生じる.この手
法は,全てのタスクを全てのノードに予め配置しておくことが出来ない場
合にタスクの稼動場所が変更すると,ベースステーションからタスクを再
配置することが必要になる.例えば,表1で挙げたS4では,重要な物品
が移動する毎にタスクの再配置を行うことが必要になる.この結果,ベー
スステーション周辺のノードに通信トラフィックが集中する課題が生じる.
タスク自身が物品の移動に対応し,移動を行ってタスク自身の配置を管
理できれば,ベースステーション周辺の通信トラフィックの集中を削減す
ることができる.
3
こうした背景から,タスク自身がタスクの配置管理
を実施する研究が行われた.代表的な研究例にAgilla[15],ActorNet[17], SensorWare[27]がある.
Agillaは,Mat´eで提供されたVMを拡張し,タスクの移動を可能にして,
タスク自身による配置管理を実現した研究例である.Agillaにおけるタスク
3
ベースステーションとタスクが配置されたノードを結ぶ線の垂直二等分線でWSNを
区切った場合,タスクが配置されたノードに近い領域に移動する場合はタスクが配置され
たノードから移動した方が移動距離が短い.空間的な平均をとればベースステーションか
ら常に配備するより平均移動距離は短くなり,WSN全体での通信コストを削減すること
は,VMで解釈可能な1byte∼2byteのISA(Instruction Set Architecture)
で記述され,Mat´eと同様にタスクのコード容量を削減している.Agilla
は,タスク間通信を分散タプルスペース[28]を用いて実現することも可
能としている.
ActorNetは,actorモデルをWSNに導入した研究例であり,各actor
はActorNetで提供されるSchemeインタプリタ上で動作する.ActorNet
では,仮想メモリの提供,SchemeインタプリタとTinyOS間のIOスケ
ジューリングの同期,ガーベッジコレクションの提供という3つの工夫を
行っている.
SensorWareは,タスクの移動とタスク自身による配置管理を実現する
点で,AgillaおよびActorNetと共通している.ただし,標準的なプラット
フォームとしてiPAQを想定しており,1Mbyte程度のメモリと128Kbyte
程度のメモリが稼動環境として必要になる.WSNのノードとしては潤沢
な計算資源(数百MHzのCPU及び1Mbyteのメモリ)を必要とするこ
とから,一般的に想定されるWSNの計算資源とは乖離がある.
3.2.2 XACプロジェクトによる取り組み
XACプロジェクトでは,オープンな環境下でWSNが利用され,複数
のシステム利用者が存在することを想定している.本想定環境下では,既
存のWSNに対し,利用者がタスクを追加・変更・削除することが通常と
なる
4
.また,表1で挙げたS4のように,稼動場所を変更するタスクも想
定している.以上の経緯から,XACプロジェクトでは,3.2.1節で述べた
タスク自身による配置管理に着目して来た.3.2.1節で挙げた既存研究で
は,タスクを複数のノードに存在するコンポーネントで構成することは可
能である.例えば,表1で挙げたS1(室温管理)の場合,部屋に存在す
る複数のノードに,本タスクを構成するコンポーネントを配置させること
ができる.ただし,複数コンポーネントの移動や,複数コンポーネントの
動的再構成の観点が欠けており,タスク運用時の課題となっていた.そこ
で,XACプロジェクトでは,タスクが複数のコンポーネントで構成され
る場合に着目し研究を行ってきた.
複数コンポーネントの移動 GDD(Generative Dynamic Deployment)[29],[30]
は,“タスクを構成する複数のコンポーネント”を移動させるミドルウェア
である.GDDでは,複数のコンポーネントで構成されるアーキテクチャ
と移動手法を提案している.既存研究では,配置されるコンポーネントに
適するアーキテクチャが存在せず,移動の信頼性が低下する課題がある
5
.
4
予め全利用者の全タスクを配置しておくことはできない
5
図2: GDDの動作例
GDDはこの課題に対し,Master,Slave-S,Slave-Mと呼ばれる3つのコ
ンポーネントから構成されるアーキテクチャを提案し,移動の信頼性を向
上させている.加えて,複数のコンポーネントが移動を実施する際,コン
ポーネント間通信が頻発することで移動の信頼性が低下する課題がある. GDDは,この課題に対し,Masterが他コンポーネント(Slave-S,M)を生
成する手法を提案し,移動時にMasterだけが移動を実行し,必要に応じ て他コンポーネントを生成することで,移動の信頼性を向上している.な
お,GDDでは移動前にMasterがSlave-S,Mを消去する手法を採用して いる.
図2にGDDの動作例をしめす.
1. Master,Slave-S,Mが配置される.
2. Masterは移動が必要になった際,配置されたSlave-S,Mを消去する.
3. Masterは次の配置場所に移動する.
4. Masterが移動後,Slave-S,Mを生成し,Slave-S,Mを周辺ノードに
配置する.
これを繰り返すことで,継続したタスクの実行を可能にしている.GDD
を用いることで,複数のコンポーネントで構成されるタスクの実現の現実
性が増す.
コンポーネントの動的再構成 Platonら[32]は,観測を実行する複数の
コンポーネントで構成されるタスクを配置し,配置されたタスクがノード
の状態に応じ再構成されるミドルウェアRagillaを提案している.既存研
に,タスクを構成するコンポーネントがノード上で活動を停止し,プログ
ラマの要求を満たさない課題がある.Ragillaでは,タスクを構成するコ
ンポーネントの稼動条件(コンポーネント数,距離範囲,稼動するバッテ
リレベル)を定義し,各コンポーネントが稼動条件を満たしながら移動や
複製を行うことで,この課題を解決している.
例えば,図3に示すように,ハードウェアの故障が生じた場合,次のよ
うな処理を行うことで,一定の距離範囲内でコンポーネントが動的に再構
成され,継続して対象物を計測できる.
1. ハードウェア障害によってリーダが稼動しているノードの活動が停
止する.
2. ミドルウェアがハードウェアの故障を検知し,コピーの中から次の
リーダ候補を選定する.
3. ミドルウェアがリーダ候補を指定された範囲内にコピーする.
本手法を用いることで,利用者のタスクに対する要求を満たしながらタス
クを構成し,タスクの現実性を向上することができる.
GDD, Ragillaだけでなく,現在XACプロジェクトでは,タスクを構
成する複数のコンポーネントの役割分担を詳細化し,各コンポーネントの
役割に基づき適切な配置条件を定め,WSNの状態に応じて動的に再配置
を行う再配置管理機構に取り組んでいる.
3.3
自己適応性
WSNでは,ノードが使用できる計算資源やバッテリ残量などのノード
内の状況は時間と共に変化することが予想される.また,障害物の移動に
よる通信環境の変化や,観測対象の移動など,ノード外の状況も変化する
ことが予想される.このようにノード内外の状況が変化した場合,3.1節
で述べたようにプログラマの意思を反映させることで状況に応じて最適
化させることが出来る.しかし,状況が変化する度にプログラマの判断
を仰いでいると,プログラマの負担が大きくなってしまう.そこで,アプ
リケーションに依らずミドルウェアで判断可能な部分に関しては,ミドル
ウェア側で自己適応を行うことでプログラマの負担を軽減することが出
来る.
3.3.1 既存手法の取り組み
既存研究では以下の点について自己適応の研究を行っている.
ノード内部の変化に対する自己適応 ノードの持つ計算資源は乏しく,同
時に複数のタスクを実行する場合には処理能力が不足することが考えられ
る.このため,WSNに複数のタスクを配備する場合,各タスクが独自に
配備ノードを決定すると,ノード上で資源競合が発生し,タスクの要求す
る処理が実行できないことが考えられる.また,3.2節で述べたように観
測の品質を高めるためには,1つのタスクに対して複数のノードを使用し
て観測を行うことが求められる.このため,オープン環境でのWSNでは
ノードにおける資源競合が頻繁に発生すると考えられる.
タスクの資源競合を回避するためには,タスクを配備する際に配備先の
ノードの決定や,時間によるセンサー使用のスケジューリングを決定に関
する研究が必要となる.これらの研究では,配備するタスクの要求を満た
すために必要なノードグループの条件を考慮した上で,配備先のノード
やセンサーのスケジューリングを決定することが必要となる.アプリケー
ションの配備に関する研究として,[33, 34]などがある.
ノード外部の変化に対する自己適応 パーベイシブな環境におけるWSN
では,タスクを配備するノードを状況に応じて変更する必要がある.その
ため,ノード間の通信リンクの強さや周囲のノードの密度など,タスク
が動作するノードの周囲の環境は時間により変化することが考えられる.
また,同一ノード上でも障害物の移動による通信環境の変化や観測対象の
移動などにより,ノード外部の状況が変化することが考えられる.このよ
うな場合,タスクに要求される品質を得るためには,タスクで用いるアル
ゴリズムや内部パラメータを環境に適したものに変更することが必要と
なる.
既存研究ではこのような問題に対して,通信アルゴリズムのパラメータ
調整により環境に適応させている[35, 36, 37].例えば,ルーティングツ
リー上のノードと通信リンクが切れてしまった場合,別の通信可能なノー
3.3.2 XACプロジェクトの取り組み
XACプロジェクトでは上記の研究分野に対して以下のような研究を行っ
ている.
ノード内部の変化に対する自己適応 XACプロジェクトではノードにお
ける資源競合を回避するために,タスクの要求を満たした必要最小限の
ノードグループの構成[38]や,資源競合発生時のタスクの退避機構に関
する研究を行っている[39].
2章のシナリオのように,WSNでは求められる精度・優先度の異なる
タスクが共存している.また,これらのタスクは全ての部屋に配備する (T2),人のいる部屋にのみ配備する(T1,T3),部屋の中であればどのノー
ドでも良い(T2),などの条件が存在する.タスクの退避機構では,この
ような条件に基づいてタスクを配備し,競合が避けられない場合にはタス
ク毎の優先度がより低いものを他ノードへ移動させる.
本手法を用いることによりタスクの資源競合の可能性を抑え,資源競合
が発生した場合にはタスクが別ノード上で処理を実行できるかを判定し,
タスクを退避することが可能となる.
ノード外部の変化に対する自己適応 XACプロジェクトでは環境の変化
に対する自己適応として,環境に応じて通信アルゴリズムそのものを変更
する研究を行っている.タスクの動作するノードの変更やモノの移動など
により,タスクが動作するノード周辺の環境が変化した場合,それぞれの
環境に適したアルゴリズムを選択することで通信の信頼性・通信量を向上
させることが出来る.2章のシナリオのように社員の現在地を報告させる
タスクを考えると,社員が別々の場所に居た場合には様々な部屋のノード
から報告が来るのに対し,会議中のようにほとんどの社員が同一の部屋に
居た場合には同じノードから頻繁に報告が来ると思われる.このように報
告頻度が異なる場合にはそれぞれ有効となるルーティングやMACプロト
コルに変更することで,より効率の良い通信を行うことが出来る.
また,XACプロジェクトではアルゴリズム内のパラメータ調整に関す
る研究も行っている[40, 41].ノードグループから報告を受ける場合,グ
ループ内で一度データを集約することで通信量を抑えることが出来る.そ
こで,グループ内のどこで・どのようにデータ集約することで効率よく通
信が行えるのかを調べることで,ルーティングアルゴリズムが変化した際
にも適切なデータ集約を行うことが可能となる.
これらの研究を用いることで,タスクが動作するノードが変更され,ノー
ド周辺の環境が変化した場合にも,環境に適したアルゴリズムに変更・修
3.4
セキュリティ
WSNの実運用を行うためには,セキュリティの問題に取り組む必要が
ある.たとえば不審者検知を行う場合,攻撃者が,不審な行動を検知でき
なくなるような攻撃をWSNに与えることが想定される.本章では,WSN
ならではのセキュリティ課題を中心に挙げ,現在の研究動向と今後の課題
を述べる.
3.4.1 WSNにおけるセキュリティ課題
WSNにおいては,攻撃者がセンサーノードを物理的に取得する脅威が
存在する.コストの制約から,ノードは耐タンパハードウェアを備えて
いないことが多い.したがって,攻撃者は物理的に取得したノードから,
ノードの秘密鍵等の全てのデータを取得することができる.このノード不
正取得攻撃が,WSNにおけるセキュリティ課題の解決を困難なものにし
ている.
また,ノードの特徴としてバッテリ駆動であることが挙げられる.した
がって,できる限りメッセージ通信量や計算量を削減する必要がある.ま
た,計算量の削減を行うためには次のような課題が存在する.従来のネッ
トワークでは公開鍵暗号化方式が広く用いられているが,公開鍵暗号化方
式は共通鍵暗号化方式に比べて計算量が大幅に増加してしまう.そのため WSNでの利用はできるだけ避けることが必要である[42, 43].
また,ノードは故障しやすいという性質を持つ.多数のノードが故障し
ても機能するセキュリティ手法が必要である.
3.4.2 WSNにおける攻撃
セキュリティの三要素である機密性・完全性・可用性について,主に次
のような攻撃が存在する.
機密性: ノード間通信の盗聴[44]
完全性: メッセージの改ざん[45],不正メッセージの作成[46]
可用性: 不正メッセージの大量作成によるDoS攻撃,メッセージの破棄 [47],誤ったルーティング情報の挿入[48]
また,これらの攻撃の元となる攻撃として,複製ノード攻撃(一つのノー
ドを不正取得し,そのデータを用いて,多数の複製を作成する[49, 50])
や誤った位置情報を与える攻撃(複数ノードが協力して位置情報を取得す
3.4.3 既存研究における取り組み
機密性: ノード間通信の盗聴に関しては,隣接ノード間において共通の
鍵を保持して暗号化通信を行うことにより,悪意のあるノードを通
らない限りメッセージの機密性を保証できる.鍵をノードにどう振
り分けるかについてはすでに多くの研究が行われている[44, 52, 53].
中継ノードがメッセージの中身を知る必要が無いのであれば,メッ
セージ作成元ノードがベースステーションと共有する鍵でメッセー
ジの暗号化を行えば良い.
完全性: メッセージの改ざんに関しては,複数のメッセージを作成してい
くつかのルートで送信することである程度対応可能である[54, 47].
メッセージがベースステーションへ到達する確率を高いレベルで維
持しながら,できるだけメッセージ数を減らすことが求められる.
また,メッセージ作成元ノードがベースステーションと共有する鍵
でメッセージ認証コードを付加することにより,メッセージの改ざ
ん検知を保証できる.また,WSNの特徴として近接するノードは似
た環境情報を取得することが挙げられる.この特徴を用いて,不審
者等のイベントを検知したノード群がメッセージ認証コードをメッ
セージに付加し,ベースステーションがそれらを検証することによ
り,不正メッセージの検知をある程度行うことが可能である.
可用性: 不正メッセージの大量作成によるDoS攻撃に対応するために
は,不正メッセージを中継ノードが検知する必要がある.イベント
を検知したノード群がメッセージ認証コードをメッセージに付加し,
それらを中継ノードが検証する手法が多く提案されている[55, 46].
メッセージの破棄検知に関しては,メッセージの改ざん検知と同様,
複数メッセージをいくつかのルートで送信することによりある程度
対応可能である.誤ったルーティング情報の挿入に関しては,既存
の無線ネットワークの技術を応用可能であるが,より低コストで検
知できる手法が数多く提案されている[48].
3.4.4 XACの取り組み
これまでのWSNにおけるセキュリティ手法では,個々の問題に別々に
対応しているものが多い.たとえば,不審者検知を目的とした場合,不審
者を検知したノードが作成したメッセージをできるだけ早く確実にベース
ステーションへ届ける必要がある.不正ノードによるメッセージの改ざん
かのルートで送信する必要がある.だがこの手法は,不正メッセージによ
るDoS攻撃を容易にしてしまうし,それ自体がDoS攻撃の一因となる. XACプロジェクトでは第一ステップとして,DoS攻撃を行ったノード
を既存研究よりも少ないトラフィック量で検知可能な手法を提案している
[56].だがこの手法は,いくかの不正メッセージがベースステーションへ
届いた後に利用できる手法であり,発生したDoS攻撃をただちに制御す
るものではない.
また,不正メッセージを中継ノードが検知する既存手法では以下の課題
が存在する.ある閾値(5程度)のノードが不正取得されるとそれ以降の
検知が不可能になってしまう[55, 46],または,メッセージ作成元ノード
からベースステーションまでの経路を限定する必要がある[57].後者の場
合,経路上のノードが故障ノードまたは不正ノードである場合はメッセー
ジがベースステーションまで到達しない.また,複数メッセージをいくつ
かの経路で送信する手法の効果が限定されてしまう.XACプロジェクト
では,これらの課題を解決する手法を提案している[58].だが,不正メッ
セージをより早い段階で検知できる仕組みが必要である.
このように,XACプロジェクトでは,正しいメッセージがベースステー
ションまで早く確実に届くことを目標として研究を行っている.現在は,
正しいメッセージを複数ルートで送信しながら,同時にDoS攻撃を防ぐ
という相反した事象をいかに扱うかについて主に取り組んでいる.
4
XAC
ミドルウェアの紹介
XACプロジェクトでは,3章で紹介した研究成果を反映した,無線セ
ンサーネットワーク向けのミドルウェアを開発している.2009年5月に
はプロトタイプ版を公開し,以降段階的に各研究成果を適用していく予定
である.プロトタイプ版はSunMicrosystems社の開発したセンサーノー
ドであるSunSPOT上に実装している.プロトタイプ版では,グループレ
ベルのタスク記述言語と運用時のタスク配置機能を備えている.複数レベ
ルのタスク記述言語,運用時のタスク再配置機能,自己適応性,セキュリ
ティ機能は段階的に追加していく予定である.
4.1
プロトタイプ実装の概要
プロトタイプ版のXACミドルウェアの構成を図4に示す.XACミドルウ
ェアは,ベースステーション上で動作するミドルウェア (XACMiddleware-B)と,センサーノード上で動作するミドルウェア(XACMiddleware-S)で
<<d e vi ce >> Ba se sta ti o n
XAC Mi d d l e w a re -B U se rIn te rfa ce
Gro u p Ma n a g e r Eve n tMa n a g e r
<<d e vi ce >> Se n so rN o d e
XAC Mi d d l e w a re -S <<U se rAp p l i a ti o n >>
Gro u p N o d e Ma n a g e r
<<d e vi ce >> Se n so rN o d e
XAC Mi d d l e w a re -S N o d e Ma n a g e r
<<d e vi ce >> Se n so rN o d e XAC Mi d d l e w a re -S
N o d e Ma n a g e r <<Mu l ti h o p Wi re l e ssL i n k>>
<<Mu l ti h o p Wi re l e ssL i n k>>
<<Mu l ti h o p Wi re l e ssL i n k>>
図4: XACミドルウェアの構成
ベースステーション側のミドルウェアは,UserInterface,EventManager, GroupManagerコンポーネントから構成される.プログラマは UserInter-faceを通じてタスクの登録,削除や,タスクが計測した結果であるイベン
トに対するハンドラの登録,削除を行う.イベントハンドラは EventMan-agerに,タスクはGroupManagerによって管理される.GroupManagerは
タスクに対応したGroupコンポーネントを生成し,センサーノード上に配
置し,計測処理を開始させる.Groupコンポーネントは計測したデータが
指定された条件を満たすとイベントが発生したと見なし,GroupManager
を経由してEventManagerに通知する.EventManagerはイベントの種類
に対応したハンドラを起動する.
センサーノード側のミドルウェアは,Group,NodeManagerコンポー
ネントから構成される.Groupには,Groupコンポーネント自体を配備
するノードの条件,データを計測するノードの条件,計測データの種類,
データ統合処理を記載する.GroupはGroupManagerによって生成され,
プログラマが指定した条件を満たすノードに配備される.Groupは,計
測すべきノードの条件に該当するノードを検索,選択し,該当するノー
ドのNodeManagerに,必要となるデータの計測依頼を出す.Groupは NodeManagerからの計測結果を集め,データ統合処理を行い,指定され
た条件を満たしていた場合はイベントが発生したと見なし,GroupManager
5
まとめ
本稿では,XACプロジェクトの紹介をした.XACプロジェクトはオー
プン無線センサーネットワーク向けミドルウェアに関する研究,開発を行
うプロジェクトである.XACプロジェクトではタスク記述言語,タスク
の配置管理,自己適応性,セキュリティの観点から研究を行っている.ま
た,研究成果を反映したミドルウェアの開発を行い,オープンソースとし
て公開する予定である.2009年4月の時点ではミドルウェアのプロトタ
イプ実装に取り組んでおり,今後段階的に機能追加していく予定である.
参考文献
[1] Mahadev Satyanarayanan. Pervasive computing: Vision and chal-lenges. IEEE Personal Communications, Vol. 8, No. 4, pp. 10–17, 2001.
[2] Mark Weiser. Some computer science issues in ubiquitous comput-ing. Commun. ACM, Vol. 36, No. 7, pp. 75–84, 1993.
[3] Victor Shnayder, Mark Hempstead, Bor-rong Chen, Geoff Werner Allen, and Matt Welsh. Simulating the power consumption of large-scale sensor network applications. Inthe 2nd International Confer-ence on Embedded Networked Sensor Systems, pp. 188–200. ACM, 2004.
[4] Samuel R. Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. Tinydb: an acquisitional query processing system for sensor networks. ACM Trans. Database Syst., Vol. 30, No. 1, pp. 122–173, 2005.
[5] Yong Yao and Johannes Gehrke. The cougar approach to in-network query processing in sensor networks. SIGMOD Rec., Vol. 31, No. 3, pp. 9–18, 2002.
[6] Carlo Curino, Matteo Giani, Marco Giorgetta, Alessandro Giusti, Amy L. Murphy, and Gian Pietro Picco. TinyLime: Bridging mo-bile and sensor networks through middleware. In the 3rd
[7] Paolo Costa, Luca Mottola, Amy L. Murphy, and Gian Pietro Picco. Programming wireless sensor networks with the teenylime middle-ware. In the ACM/IFIP/USENIX 2007 International Conference on Middleware (Middleware), pp. 429–449. Springer-Verlag New York, Inc., 2007.
[8] T. Abdelzaher, B. Blum, Q. Cao, Y. Chen, D. Evans, J. George, S. George, L. Gu, T. He, S. Krishnamurthy, L. Luo, S. Son, J. Stankovic, R. Stoleru, and A. Wood. Envirotrack: Towards an environmental computing paradigm for distributed sensor networks. Inthe 24th International Conference on Distributed Computing Sys-tems (ICDCS), pp. 582–589. IEEE Computer Society, 2004.
[9] Kamin Whitehouse, Cory Sharp, Eric Brewer, and David Culler. Hood: a neighborhood abstraction for sensor networks. Inthe 2nd international conference on Mobile systems, applications, and ser-vices (MobiSys), pp. 99–110. ACM Press, 2004.
[10] Matt Welsh and Geoff Mainland. Programming sensor networks using abstract regions. In the 1st conference on Symposium on Networked Systems Design and Implementation (NSDI), pp. 29–42, 2004.
[11] Christian Frank and Kay Romer. Algorithms for generic role assign-ment in wireless sensor networks. In the 3rd international confer-ence on Embedded networked sensor systems (SenSys), pp. 230–242. ACM Press, 2005.
[12] Rajnish Kumar, Matthew Wolenetz, Bikash Agarwalla, JunSuk Shin, Phillip Hutto, Arnab Paul, and Umakishore Ramachandran. Dfuse: a framework for distributed data fusion. Inthe 1st interna-tional conference on Embedded networked sensor systems (SenSys), pp. 114–125. ACM, 2003.
[13] Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister. System architecture directions for networked sensors. SIGPLAN Not., Vol. 35, No. 11, pp. 93–104, 2000.
sys-tems, languages, and applications (OOPSLA), pp. 150–151. ACM, 2005.
[15] Chien-Liang Fok, Gruia-Catalin Roman, and Chenyang Lu. Rapid development and flexible deployment of adaptive wireless sensor network applications. In the 25th IEEE International Conference on Distributed Computing Systems (ICDCS), pp. 653–662. IEEE Computer Society, 2005.
[16] Athanassios Boulis, Chih-Chieh Han, Roy Shea, and Mani B. Sri-vastava. Sensorware: Programming sensor networks beyond code update and querying. Pervasive Mob. Comput., Vol. 3, No. 4, pp. 386–412, 2007.
[17] YoungMin Kwon, Sameer Sundresh, Kirill Mechitov, and Gul Agha. Actornet: an actor platform for wireless sensor networks. In the fifth international joint conference on Autonomous agents and mul-tiagent systems (AAMAS), pp. 1297–1300. ACM Press, 2006.
[18] 鄭顕志,深澤良彰,本位田真一.無線センサーネットワークミドルウェ
アの研究動向とエージェント技術の適用可能性. 合同エージェント
ワークショップ&シンポジウム2006 (JAWS2006), 2006.
[19] 末永俊一郎, 松崎和賢,本位田真一. 無線センサネットワークにおけ
るプログラミングモデル - プログラミングサポートとプログラミン
グアブストラクション. 合同エージェントワークショップ&シンポジ
ウム2006 (JAWS2006), 2006.
[20] 松崎和賢, 末永俊一郎,本位田真一. 無線センサネットワークにおけ
るプログラミングモデル - マクロプログラミングとトラディショナ
ルアプローチ. 合同エージェントワークショップ&シンポジウム2006 (JAWS2006), 2006.
[21] 鄭顕志, 深澤良彰, 本位田真一. 無線センサネットワークにおける計
測記述言語のための規範モデル導出手法の構築. ソフトウェア工学の
基礎ワークショップ(FOSE2008), pp. 69–75, 2008.
[23] Qiang Wang, Yaoyao Zhu, and Liang Cheng. Reprogramming wire-less sensor networks: challenges and approaches. IEEE Network, Vol. 20, No. 3, pp. 48–55, 2006.
[24] Jonathan W. Hui and David Culler. The dynamic behavior of a data dissemination protocol for network programming at scale. In
the 2nd international conference on Embedded networked sensor sys-tems (SenSys), pp. 81–94, 2004.
[25] Philip Levis and David Culler. Mat´e: a tiny virtual machine for sensor networks. In the 10th international conference on Archi-tectural support for programming languages and operating systems (ASPLOS), pp. 85–95. ACM Press, 2002.
[26] Philip Levis, Neil Patel, David Culler, and Scott Shenker. Trickle: a self-regulating algorithm for code propagation and maintenance in wireless sensor networks. Inthe 1st conference on Symposium on Networked Systems Design and Implementation (NSDI), pp. 15–28. USENIX Association, 2004.
[27] Athanassios Boulis, Chih-Chieh Han, and Mani B. Srivastava. De-sign and implementation of a framework for efficient and pro-grammable sensor networks. Inthe 1st international conference on Mobile systems, applications and services (MobiSys), pp. 187–200. ACM Press, 2003.
[28] David Gelernter. Generative communication in linda. ACM Trans. Program. Lang. Syst., Vol. 7, No. 1, pp. 80–112, 1985.
[29] Shunichro Suenaga, Nobukazu Yoshioka, and Shinichi Honiden. Generative dynamic deployment of multiple components in wireless sensor networks. Inthe Sixth International Conference on Wireless On-demand Network Systems and Services (WONS), pp. 197–204, 2009.
[30] 末永俊一郎, 吉岡信和,本位田真一. 無線センサネットワークにおけ
る複数プログラムの動的配備.「新しい時代を切り拓くモバイル通信
と高度交通システム」特集号, pp. 14–30. 情報処理学会, 2009.
[32] Eric Platon, Shunichiro Suenaga, Nobukazu Yoshioka, and Shinichi Honiden. Transparent application lifetime management in wireless sensor networks. In Demo Track of the 10th International Confer-ence on Ubiquitous Computing (UbiComp), 2008.
[33] Wendi B. Heinzelman, Amy L. Murphy, Hervaldo S. Carvalho, and Mark A. Perillo. Middleware to support sensor network applica-tions. IEEE Network, Vol. 18, No. 1, pp. 6–14, 2004.
[34] Adam Dunkels, Niclas Finne, Joakim Eriksson, and Thiemo Voigt. Run-time dynamic linking for reprogramming wireless sensor net-works. In the 4th international conference on Embedded networked sensor systems (SenSys), pp. 15–28. ACM, 2006.
[35] K. Sohrabi, J. Gao, V. Ailawadhi, and G. J. Pottie. Protocols for self-organization of a wireless sensor network. Personal Commu-nications, IEEE [see also IEEE Wireless Communications], Vol. 7, No. 5, pp. 16–27, 2000.
[36] Wei Ye, John Heidemann, and Deborah Estrin. An energy-efficient mac protocol for wireless sensor networks. In the 21st Conference on Computer Communications (INFOCOM), pp. 1567–1576. IEEE, 2002.
[37] Venkatesh Rajendran, Katia Obraczka, and J. J. Garcia-Luna-Aceves. Energy-efficient, collision-free medium access control for wireless sensor networks. Wirel. Netw., Vol. 12, No. 1, pp. 63–78, 2006.
[38] Yoshiyuki Nakamura, Kenji Tei, Yoshiaki Fukazawa, and Shinichi Honiden. Region-based sensor selection for wireless sensor net-works. Inthe 2008 IEEE International Conference on Sensor Net-works, Ubiquitous, and Trustworthy Computing (SUTC), pp. 326– 331. IEEE Computer Society, 2008.
[40] 中里彦俊,中村善行,鄭顕志,深澤良彰,本位田真一. 通信コストと計
測精度を考慮したトラッキングのためのセンサモデルの提案. マルチ
メディア,分散,協調とモバイルシンポジウム(DICOMO2008), 2008.
[41] 金木陽一, 清雄一, 本位田真一. センサーネットワークにおける耐故
障性を考慮したデータ集約. 合同エージェントワークショップ&シン
ポジウム(JAWS2008), 2008.
[42] Adrian Perrig, John Stankovic, and David Wagner. Security in wireless sensor networks. Commun. ACM, Vol. 47, No. 6, pp. 53– 57, 2004.
[43] Adrian Perrig, Robert Szewczyk, Victor Wen, David E. Culler, and J. D. Tygar. SPINS: Security protocols for sensor networks. Inthe seventh annual international conference on Mobile computing and networking (MOBICOM), pp. 189–199, 2001.
[44] Haowen Chan, Adrian Perrig, and Dawn Song. Random key pre-distribution schemes for sensor networks. In IEEE Symposium on Security and Privacy, pp. 197–213, 2003.
[45] Sergio Marti, T. J. Giuli, Kevin Lai, and Mary Baker. Mitigating routing misbehavior in mobile ad hoc networks. Inthe seventh an-nual international conference on Mobile computing and networking (MOBICOM), pp. 255–265, 2000.
[46] Zhen Yu and Yong Guan. A dynamic en-route scheme for filtering false data injection in wireless sensor networks. Inthe 25th Confer-ence on Computer Communications (INFOCOM), pp. 1–12, 2006.
[47] Deepak Ganesan, Ramesh Govindan, Scott Shenker, and Deborah Estrin. Highly-resilient, energy-efficient multipath routing in wire-less sensor networks. SIGMOBILE Mob. Comput. Commun. Rev., Vol. 5, No. 4, pp. 11–25, 2001.
[48] Issa Khalil, Saurabh Bagchi, and Ness B. Shroff. Liteworp: Detec-tion and isolaDetec-tion of the wormhole attack in static multihop wireless networks. Comput. Netw., Vol. 51, No. 13, pp. 3750–3772, 2007.
International Symposium on Mobile Ad Hoc Networking and Com-puting (MobiHoc), pp. 80–89, 2007.
[50] Bryan Parno, Adrian Perrig, and Virgil Gligor. Distributed de-tection of node replication attacks in sensor networks. In IEEE Symposium on Security and Privacy, pp. 49–63, 2005.
[51] Eylem Ekici, Janise McNair, and Dawood Al-Abri. Secure prob-abilistic location verification in randomly deployed wireless sensor networks. Ad Hoc Netw., Vol. 6, No. 2, pp. 195–209, 2008.
[52] Wenliang Du, Jing Deng, Yunghsiang S. Han, Shigang Chen, and Pramod K. Varshney. A key management scheme for wireless sensor networks using deployment knowledge. In the 23rd Conference on Computer Communications (INFOCOM), 2004.
[53] Wenliang Du, Jing Deng, Yunghsiang S. Han, and Pramod K. Varshney. A pairwise key pre-distribution scheme for wireless sensor networks. In the 10th ACM conference on Computer and commu-nications security, pp. 42–51, 2003.
[54] Budhaditya Deb, Sudeept Bhatnagar, and Badri Nath. Reinform: Reliable information forwarding using multiple paths in sensor net-works. In 28th Annual IEEE International Conference on Local Computer Networks (LCN), pp. 406–415, 2003.
[55] Fan Ye, Haiyun Luo, Songwu Lu, and Lixia Zhang. Statistical en-route filtering of injected false data in sensor networks. IEEE Journal on Selected Areas in Communications, Vol. 23, No. 4, pp. 839–850, April 2005.
[56] 清雄一, 本位田真一. 無線センサーネットワークにおける不正メッ
セージ作成元ノードの検知. 情報処理学会論文誌, Vol. 50, No. 2, pp. 787–797, 2009.
[57] Hao Yang, Fan Ye, Yuan Yuan, Songwu Lu, and William Arbaugh. Toward resilient security in wireless sensor networks. In the 6th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), pp. 34–45, 2005.
[58] 清雄一,本位田真一. 無線センサーネットワークにおけるfalse event